#include <bits/stdc++.h>

#define in read()
#define fi first
#define se second
#define pb push_back
#define rep(i, x, y) for(int i = (x); i <= (y); i++)
#define per(i, x, y) for(int i = (x); i >= (y); i--)

using namespace std;

typedef long long ll;
typedef double db;
typedef vector < int > vec;
typedef pair < int , int > pii;

int read() {
    int x = 0; bool f = 0; char ch = getchar(); while(!isdigit(ch)) f |= ch == '-',ch = getchar();
    while(isdigit(ch)) x = x * 10 + (ch ^ 48),ch = getchar(); return f ? -x : x;
}

#define fail { puts("Impossible"); exit(0); }
#define suc { puts("Possible"); exit(0); }

const int N = 110;

int a[N], cnt[N], mx, mn = N + 10, n;

void check(int x) {
	rep(i, x, mx) if(cnt[i] < 2) fail;
	suc;
}

int main() {
#ifndef ONLINE_JUDGE
    freopen("1.in","r",stdin);
#endif
    n = in; rep(i, 1, n) a[i] = in, ++cnt[a[i]], mx = max(mx, a[i]), mn = min(mn, a[i]);
	if(mn < (mx + 1) / 2) fail; 
	if(mx & 1) {
		if(cnt[mx + 1 >> 1] != 2) fail;
		check(mn);
	} else {
		if(cnt[mx >> 1] != 1) fail;
		check(mn);
	}
}
